home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / gnumake / make360.zoo / Makefile.st < prev    next >
Makefile  |  1991-08-07  |  6KB  |  167 lines

  1. # Copyright (C) 1988, 1989 Free Software Foundation, Inc.
  2. # This file is part of GNU Make.
  3. # GNU Make is free software; you can redistribute it and/or modify
  4. # it under the terms of the GNU General Public License as published by
  5. # the Free Software Foundation; either version 1, or (at your option)
  6. # any later version.
  7. #
  8. # GNU Make is distributed in the hope that it will be useful,
  9. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. # GNU General Public License for more details.
  12. # You should have received a copy of the GNU General Public License
  13. # along with GNU Make; see the file COPYING.  If not, write to
  14. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  15.  
  16. #
  17. #    Makefile for GNU Make
  18. #
  19.  
  20. CFLAGS = $(defines) -O
  21. LDFLAGS = -s
  22.  
  23. # Define nothing for BSD, USG for System V, and USGr3 (as well as USG) for
  24. # SVR3, HPUX for HP-UX (as well as USG or USGr3 as appropriate).  If you have a
  25. # USG hybrid with <sys/wait.h> and wait3, define HAVE_SYS_WAIT.  If you are USG
  26. # but have sys_siglist, define HAVE_SIGLIST.  If you are USG, and not USGr3,
  27. # but have dup2, define HAVE_DUP2.  If your `cc' command doesn't grok -o
  28. # options with -c (true for many 4.2 BSD derivatives), define
  29. # NO_MINUS_C_MINUS_O.  If you don't want archive support, define NO_ARCHIVES.
  30. # If you want to avoid use of floating-point numbers, define NO_FLOAT.  If your
  31. # compiler can handle `enum' bitfields (and it's not GCC), define
  32. # ENUM_BITFIELDS.
  33. defines = -DNO_FLOAT
  34.  
  35. # Define UMAX here to use Encore's inq_stats call.  Define UMAX_43 (and UMAX)
  36. # if you have UMAX 4.3 instead of UMAX 4.2.  If the load average is in a symbol
  37. # in /dev/kmem, define KERNEL_FILE_NAME if not "/vmunix", LDAV_SYMBOL if not
  38. # "_avenrun", LDAV_TYPE if not `long int', and LDAV_CVT to convert the
  39. # LDAV_TYPE value from LDAV_SYMBOL (in `load') to a double if this is not
  40. # "(double) load".  If a `struct nlist' (as defined in <nlist.h>) has a `n_un'
  41. # union, rather than a simple `n_name' member, define NLIST_NAME_UNION.  If the
  42. # `n_name' member of a `struct nlist' is an array that must be copied into,
  43. # define NLIST_NAME_ARRAY.  Otherwise, define NO_LDAV.
  44. LOAD_AVG = -DNLIST_NAME_UNION -DNO_LDAV
  45.  
  46. # If you don't want archive support, comment these out.
  47. ARCHIVES = arscan.o ar.o
  48. ARCHIVES_SRC = arscan.c ar.c
  49.  
  50. # If your system needs extra libraries loaded in, define them here.
  51. # System V probably need -lPW for alloca.
  52. LOADLIBES =
  53.  
  54. # If your system doesn't have alloca, or the one provided is bad,
  55. # get it from the Emacs distribution and define these.
  56. #ALLOCA = alloca.o
  57. #ALLOCASRC = alloca.c
  58.  
  59. # If there are remote execution facilities defined,
  60. # enable them with switches here (see remote-*.c).
  61. REMOTE =
  62.  
  63. # Any extra object files your system needs.
  64. extras =
  65.  
  66. # Directory to install `make' in.
  67. bindir = $(prefix)/usr/local/bin
  68. # Directory to install the man page in.
  69. mandir = $(prefix)/usr/local/man/man1
  70. # Number to put on the man page filename.
  71. manext = 1
  72.  
  73. objs = glob.o commands.o job.o dir.o file.o load.o misc.o main.o read.o \
  74.        remake.o remote.o rule.o implicit.o default.o variable.o expand.o \
  75.        function.o vpath.o version.o $(ARCHIVES) $(ALLOCA) $(extras)
  76. srcs = glob.c commands.c job.c dir.c file.c load.c misc.c main.c read.c \
  77.        remake.c remote.c rule.c implicit.c default.c variable.c expand.c \
  78.        function.c vpath.c version.c $(ALLOCASRC) $(ARCHIVES_SRC) \
  79.        commands.h dep.h file.h job.h make.h rule.h variable.h
  80.  
  81.  
  82. .SUFFIXES:
  83. .SUFFIXES: .o .c .h .ps .dvi .texinfo
  84.  
  85. .PHONY: all doc
  86. all: make
  87. doc: make.info make.dvi
  88.  
  89.  
  90. # Take your pick.
  91. #makeinfo = emacs -batch make.texinfo -f texinfo-format-buffer -f save-buffer
  92. makeinfo = makeinfo make.texinfo
  93.  
  94. make.info: make.texinfo
  95.     $(makeinfo)
  96.  
  97.  
  98. make.dvi: make.texinfo
  99.     -tex make.texinfo
  100.     texindex make.cp make.fn make.ky make.pg make.tp make.vr
  101.     -tex make.texinfo
  102.  
  103. make.ps: make.dvi
  104.     dvi2ps make.dvi > make.ps
  105.  
  106. make: $(objs)
  107.     $(CC) $(LDFLAGS) $(objs) $(LOADLIBES) -o make.new
  108.     mv -f make.new make
  109.  
  110. make.sym: $(objs)
  111.     /usr/gcc/bin/sym-ld.ttp -o x.sym /usr/gcc/lib/crt0.o $(objs) $(LOADLIBES) -lgnu
  112.     /usr/gcc/bin/gcc-ld.ttp -o x.ttp /usr/gcc/lib/crt0.o $(objs) $(LOADLIBES) -lgnu
  113.  
  114. load.o: load.c
  115.     $(CC) $(CFLAGS) $(LOAD_AVG) -c load.c
  116. remote.o: remote.c
  117.     $(CC) $(CFLAGS) $(REMOTE) -c remote.c
  118.  
  119. TAGS: $(srcs)
  120.     etags -tw $(srcs)
  121. tags: $(srcs)
  122.     ctags -tw $(srcs)
  123.  
  124. .PHONY: install
  125. install: $(bindir)/make $(mandir)/make.$(manext)
  126.  
  127. $(bindir)/make: make
  128.     cp make $@.new
  129. # These are necessary for load-average checking to work on most Unix machines.
  130.     chgrp kmem $@.new
  131.     chmod g+s $@.new
  132.     mv $@.new $@
  133.  
  134. $(mandir)/make.$(manext): make.man
  135.     cp make.man $@
  136.  
  137. .PHONY: clean realclean
  138. clean:
  139.     -rm -f make *.o core
  140. realclean: clean
  141.     -rm -f TAGS tags make.info* make-* make.dvi
  142.     -rm -f make.?? make.??s make.log make.toc make.*aux
  143. # Automatically generated dependencies.
  144. glob.o : glob.c 
  145. commands.o : commands.c make.h dep.h commands.h file.h variable.h job.h 
  146. job.o : job.c make.h commands.h job.h file.h variable.h 
  147. dir.o : dir.c make.h 
  148. file.o : file.c make.h commands.h dep.h file.h variable.h 
  149. load.o : load.c make.h commands.h job.h 
  150. misc.o : misc.c make.h dep.h 
  151. main.o : main.c make.h commands.h dep.h file.h variable.h job.h 
  152. read.o : read.c make.h commands.h dep.h file.h variable.h 
  153. remake.o : remake.c make.h commands.h job.h dep.h file.h 
  154. remote.o : remote.c remote-stub.c make.h commands.h 
  155. rule.o : rule.c make.h commands.h dep.h file.h variable.h rule.h 
  156. implicit.o : implicit.c make.h rule.h dep.h file.h 
  157. default.o : default.c make.h rule.h dep.h file.h commands.h variable.h 
  158. variable.o : variable.c make.h commands.h variable.h dep.h file.h 
  159. expand.o : expand.c make.h commands.h file.h variable.h 
  160. function.o : function.c make.h variable.h dep.h commands.h job.h 
  161. vpath.o : vpath.c make.h file.h variable.h 
  162. version.o : version.c 
  163. arscan.o : arscan.c 
  164. ar.o : ar.c make.h file.h 
  165.